word-wolf bot(repl.it)_old(スラッシュコマンド・ボタン対応前)
2021/10/16 21:52あたりに対応しちゃいました(勢いでやってしまったけれど、どう考えても別のBotとして登録するべきだった...)
だって、再度Bot招待が必要なはず。。。
動いてるBotを使いたい人向け(以下は使えないはず)
---
以下は作ってみたい人向けの説明
前提
discordのアカウントを持っていること
Botを招待するサーバーの管理者であること
作業手順
Botアカウントの作成
NewApplicationボタンを押し、BOTの名前を決めてCreateする
Botタブへ移動し、Add Botボタンを押下し、Botユーザーを作成
BotタブのTOKENの項にある、Copyボタンを押下し、トークンを取得する(.envにこれを貼り付ける!/流出させないように気をつけてください!!)
Privileged Gateway IntentsのSERVER MEMBERS INTENTはONにしてください
ボイスチャンネルに接続しているメンバーを取得するのに必要です
これがONになっていないと、取得できず常に0人扱いになる、はずです
https://gyazo.com/7966444ac2c03888d1a1c3f0332dd18d
Save Changesを押下
BOTアカウントの招待
作成から実施している前提で説明
OAuth2タブへ移動し、scopes下にあるbotチェックボックスを選択(次項で説明する、BOT PERMISSIONSのチェックボックスが表示される)
BOT PERMISSIONSで以下をチェックし、URLを作成する(実は、下記でチェックなんかせずに、&permissions=のところを、&permissions=11328に置き換えれば問題なし)
GENERAL PERMISSIONS View Channels
TEXT PERMISSIONS Send MessagesManage Messages, Add Reactions
VOICE PERMISSIONS チェックなし
URLのpermissions=の数字が「11328」であること
https://gyazo.com/3f4b1ef8c549c69bd79ef834db573aa1
生成されたURLをコピーしてブラウザに貼り付け、Botを招待したいサーバーを選択した後、認証ボタンを押下しサーバーに追加できる
ワードウルフや大喜利のお題は以下の手順で追加・変更できます
上記で取得したウェブアプリのURLを下記の環境変数に保存する
OHGIRI_JSON_URL=大喜利のウェブアプリURL
大喜利機能で使用するJSONをURLから取得する場合に設定(Cogを読み込む際に取得されます)
大喜利JSONに具体的な設定を書きました! そこで作成したウェブアプリのURLを登録する感じです! WORDWOLF_JSON_URL=ワードウルフのウェブアプリURL
ワードウルフ機能で使用するJSONをURLから取得する場合に設定(Cogを読み込む際に取得されます)。環境変数がない場合は、jsonファイルを使用
NGWORD_GAME_JSON_URL=NGワードゲームのウェブアプリURL
NGワードゲーム機能で使用するJSONをURLから取得する場合に設定(Cogを読み込む際に取得されます)。環境変数がない場合は、jsonファイルを使用
Repl.itでの動かし方
前提
Discordの開発者ポータルでBotを作っている前提です!
Botを作ると言っても、難しくなくて、3分くらいで手順です。
作業手順
1. 右の方にある「Fork」というボタンを押す。
https://gyazo.com/18f7e22dd59bcc2316634f1511453362
2. 起動準備
2-1.start.shの実行権限を与える
ConsuleかShellで下記コマンドを実行する
code:sh
chmod 755 start.sh
3. 起動
3-1. .envファイルにDiscordのBotトークンを記載(必ず、直下(.replitファイルがあるのと同じところ)に配置すること!)
https://i.gyazo.com/7ae6cc1018ec1c4f696b8650095420ed.pnghttps://i.gyazo.com/c1dc4b5324f0da993ef80665acabcb1e.png
*深い階層に置いたら普通に公開されててびっくりしました...(secret modeで念の為怪しいファイルが公開されてないか確認したほうがいいと思います)
中身は、cogs/modules/files/.env.sampleからコピーして持ってくる 少なくとも、DISCORD_TOKENは変更すること!(あなたのトークンに!)
https://i.gyazo.com/648484d99a9735dc5df53a39d072a48d.png
3-2. Runボタンをクリックし、Botを起動する
https://i.gyazo.com/4c9c96341c32403f13d57522e4ad2680.png
コレはRunボタンを押した後なのでStopになってる
右上がflaskで作ったサーバ(このURLにアクセスしないとサーバーが止まる。後でuptime robotで5分おきにアクセスする)
右下がbotのログ
3-3. 注意! 無料版ではPublicに公開されています!
トークンなどは公開されないように、.replitと同じ階層の.envとして保管してください
参考:こちらで動いてるbotが見られます
4-2. +Add New Monitorをクリックし、Monitor TypeをHTTP(S)にする(色々設定が出てくる)
4-3. 以下のように設定し、アラートが欲しい場合は、チェックの上、Create Monitorをクリックし、監視を作成
Friendly Name*: すきな名前
URL (or IP)*: repl.itをRunした時に立ち上がったブラウザのURL
Monitoring Interval*: every 5 minutes
公開してるBotのソースはこちら(構築手順も載ってます)
参考